Leadtools.Jpeg2000 Requires Document/Medical product license | Send comments on this topic. | Back to Introduction - All Topics | Help Version 15.12.10
ExtractFramesNativeMemory(Stream,Generic List) Method
See Also  Example
Leadtools.Jpeg2000 Namespace > Jpeg2000Engine Class > ExtractFramesNativeMemory Method : ExtractFramesNativeMemory(Stream,Generic List) Method




stream
A Stream containing the JPEG 2000 file data from which frames are being extracted.
frames
Frame indices. A list of integers specifying the indices of the frames to be extracted from the input stream. All indices should be 0-based.
Extracts specific frames from the input stream, and saves them to a new JPEG 2000 file in a RasterNativeBuffer object. This file contains only the extracted frame headers/codestreams (not any obtained through the decompressing/recompressing process) so it saves processor time and memory. This method is available in the Document/Medical Toolkits.

Syntax

Visual Basic (Declaration) 
Overloads Public Function ExtractFramesNativeMemory( _
   ByVal stream As Stream, _
   ByVal frames As List(Of Integer) _
) As RasterNativeBuffer
Visual Basic (Usage)Copy Code
Dim instance As Jpeg2000Engine
Dim stream As Stream
Dim frames As List(Of Integer)
Dim value As RasterNativeBuffer
 
value = instance.ExtractFramesNativeMemory(stream, frames)
C# 
public RasterNativeBuffer ExtractFramesNativeMemory( 
   Stream stream,
   List<int> frames
)
Managed Extensions for C++ 
public: RasterNativeBuffer ExtractFramesNativeMemory( 
   Stream* stream,
   List<int>* frames
) 
C++/CLI 
public:
RasterNativeBuffer ExtractFramesNativeMemory( 
   Stream^ stream,
   List<int>^ frames
) 

Parameters

stream
A Stream containing the JPEG 2000 file data from which frames are being extracted.
frames
Frame indices. A list of integers specifying the indices of the frames to be extracted from the input stream. All indices should be 0-based.

Return Value

A RasterNativeBuffer object that contains a JPEG 2000 file with only the extracted frames.

Example

Visual BasicCopy Code
Leadtools.Jpeg2000.Jpeg2000Engine.ExtractFramesNativeMemory(Stream)
      Private Function ExtractFramesNativeMemoryStreamExample(ByVal frames As List(Of Integer)) As RasterNativeBuffer
         Dim fs As FileStream = File.OpenRead("C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\image1.jpx")

         Dim engine As New Jpeg2000Engine()
         Dim fileInfo As Jpeg2000FileInformation = engine.GetFileInformation(fs)

         For i As Integer = 0 To frames.Count - 1
            If (frames(i) >= fileInfo.Frame.GetLength(0)) Then
               Return RasterNativeBuffer.Empty
            End If
         Next i
         Dim buffer As RasterNativeBuffer = engine.ExtractFramesNativeMemory(fs, frames)

         ' Clean up
         fs.Close()
         Return buffer
      End Function
C#Copy Code
Leadtools.Jpeg2000.Jpeg2000Engine.ExtractFramesNativeMemory(Stream) 
      private RasterNativeBuffer ExtractFramesNativeMemoryStreamExample(List<int> frames) 
      { 
         FileStream fs = File.OpenRead(@"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\image1.jpx"); 
 
         Jpeg2000Engine engine = new Jpeg2000Engine(); 
         Jpeg2000FileInformation fileInfo = engine.GetFileInformation(fs); 
 
         for (int i = 0; i < frames.Count; i++) 
            if (frames[i] >= fileInfo.Frame.GetLength(0)) 
               return RasterNativeBuffer.Empty; 
         RasterNativeBuffer buffer = engine.ExtractFramesNativeMemory(fs, frames); 
         // Clean up 
         fs.Close(); 
         return buffer; 
      }

Remarks

. This method is very suitable for server applications where multiple clients request specific frames of a JPEG 2000 file.Instead of decompressing and then recompressing the frames this method copies only the needed frame data, saving the data to a new JPEG 2000 file.

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also

Leadtools.Jpeg2000 requires a Document or Medical toolkit license and unlock key. For more information, refer to: Raster Pro/Document/Medical Features